CC = g++
CFLAGS = -Wall

all: StackProtocol

StackProtocol: ApplicationLayer.o ByteStream.o DataLinkLayer.o Debug.o LayerFactory.o Main.o NetworkLayer.o Packet.o PhysicalLayer.o PresentationLayer.o \
	       Protocol_DNS.o Protocol_EP.o ProtocolFactory.o Protocol_FTP.o Protocol_HTTP.o Protocol_IP.o Protocol_MAC.o Protocol_SSL.o Protocol_TCP.o \
               Protocol_UDP.o SessionLayer.o StackOSI.o StackUtils.o TransportLayer.o
	$(CC) $(CFLAGS) ApplicationLayer.o ByteStream.o DataLinkLayer.o Debug.o LayerFactory.o Main.o NetworkLayer.o Packet.o PhysicalLayer.o PresentationLayer.o \
	       Protocol_DNS.o Protocol_EP.o ProtocolFactory.o Protocol_FTP.o Protocol_HTTP.o Protocol_IP.o Protocol_MAC.o Protocol_SSL.o Protocol_TCP.o \
	       Protocol_UDP.o SessionLayer.o StackOSI.o StackUtils.o TransportLayer.o -o StackProtocol	

ApplicationLayer.o: ApplicationLayer.cpp
ByteStream.o: ByteStream.cpp
DataLinkLayer.o: DataLinkLayer.cpp
Debug.o: Debug.cpp
LayerFactory.o: LayerFactory.cpp
Main.o: Main.cpp
NetworkLayer.o: NetworkLayer.cpp
Packet.o: Packet.cpp
PhysicalLayer.o: PhysicalLayer.cpp
PresentationLayer.o: PresentationLayer.cpp
Protocol_DNS.o: Protocol_DNS.cpp
Protocol_EP.o: Protocol_EP.cpp
ProtocolFactory.o: ProtocolFactory.cpp
Protocol_FTP.o: Protocol_FTP.cpp
Protocol_HTTP.o: Protocol_HTTP.cpp
Protocol_IP.o: Protocol_IP.cpp
Protocol_MAC.o: Protocol_MAC.cpp
Protocol_SSL.o: Protocol_SSL.cpp
Protocol_TCP.o: Protocol_TCP.cpp
Protocol_UDP.o: Protocol_UDP.cpp
SessionLayer.o: SessionLayer.cpp
StackOSI.o: StackOSI.cpp
StackUtils.o: StackUtils.cpp
TransportLayer.o: TransportLayer.cpp

clean:
	rm -f *.o StackProtocol
	clear












 


